Skip to content

Conversation

@mikehardy
Copy link
Collaborator

Description

A large part of the regression in v23.8.x appears to be related to using package.json:exports and two typescript transpiles

  • the support for package.json:exports changes across Expo / react-native versions, so testing is difficult
  • shipping more than one distribution puts us at risk of double-loading in codebases that use both require and imports

This PR attempts to reduce the shipped transpile of typescript packages to a single ESM transpile, and eliminates the use of package.json:exports in favor of the old-fashioned single main export style

Related issues

I believe this will be the last major fix required to close out the regressions on v23.8.x

Release Summary

Will be a fix release

Checklist

  • I read the Contributor Guide and followed the process outlined there for submitting PRs.
    • Yes
  • My change supports the following platforms;
    • Android
    • iOS
    • Other (macOS, web)
  • My change includes tests;
    • e2e tests added or updated in packages/\*\*/e2e
    • jest tests added or updated in packages/\*\*/__tests__
  • I have updated TypeScript types that are affected by my change.
  • This is a breaking change;
    • Yes
    • No

Test Plan

Currently e2e tests pass locally, but jest is failing. Still working on that


Think react-native-firebase is great? Please consider supporting the project with any of the below:

this will be reused in other flows to create local packages prior
to testing, for use in the testing
releasing two versions raises the risk of different instances loading
for people using requires vs import, and implies special tricks using
packages exports - and adding package exports is potentially breaking
unless done perfectly

this gets rid of the need for package exports and eliminates the risk
of loading both ESM and CJS transpiles
@vercel
Copy link

vercel bot commented Jan 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
react-native-firebase Ready Ready Preview, Comment Jan 21, 2026 6:48pm

Request Review

@mikehardy mikehardy changed the title fix: only ship one transpile of typescript packages, and do not use package.json:exports WIP fix: only ship one transpile of typescript packages, and do not use package.json:exports Jan 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[🐛] v23.8.0 .1 and .2 have a publishing regression - Expo plugin config is not valid - remain on 23.7.0 or wait for 23.8.3+

2 participants